Thread html eingabefeld eingabe per perl in sql db
(3 answers)
Opened by bendenn at 2012-06-15 17:18
Wahrscheinlich hat Dein Script keinen heade Content-Type... gesendet.
Um ein bischen mehr Struktur reinzubringen habe ich Dir mal ein kleines Script aufgeschrieben, spiel mal ein bischen damit, es könnte als Vorlage für weitere Entwicklungen dienen: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 #!/usr/bin/perl use strict; use warnings; use CGI; # Alle VARs in der globalen Hash-Referenz $main my $main = { CGI => new CGI, eingabe => '', # Wert vom Eingabefeld mesg => '', # Hinweise für den Anwender }; print "Content-Type: text/html; Charset=UTF-8\n\n"; print out(); exit; ######################################## Funktionen ####################### # Parameter Kontrolle und dann die Ausgabe sub out{ if(param()){ control(); } else{ browse(); } return form(); } # Keine Parameter sub browse{ $main->{mesg} = 'Bitte was eingeben'; } # Parameter sub control{ if(param('klick') || param('eingabe')){ $main->{eingabe} = param('eingabe'); $main->{mesg} = "Es wurde was eingegeben ($main->{eingabe}) oder geklickt"; # hier kommt der Code # zum Eintragen in die DB } else{ $main->{mesg} = 'Unbekannter Parameter'; } } # Formular erzeugen sub form{ return qq( <p>Mesg: $main->{mesg}</p> <form action="$ENV{SCRIPT_NAME}"> <input name="eingabe" value="$main->{eingabe}"> <input type="submit" name="klick"> </form> <p> <a href="$ENV{SCRIPT_NAME}">Seite neu Laden ohne Parameter</a> </p> ); } # Delegate CGI::param Method sub param{ return $main->{CGI}->param(@_); } |